Implement cursor on the left fringe for R2L lines.
authorEli Zaretskii <eliz@gnu.org>
Sat, 10 Apr 2010 16:28:30 +0000 (19:28 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 10 Apr 2010 16:28:30 +0000 (19:28 +0300)
commite3f13764a8f89ad069accff49470b414305dcac0
tree21e04a5e34265859556dd8d60ef3c90957c396bf
parent1d9bc639aefa14dd4b3ca9f1a11ba0a122f75043
Implement cursor on the left fringe for R2L lines.

 xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines,
 consider the left fringe, not the right one.
 (set_cursor_from_row): Don't reverse pos_before and pos_after for
 reversed glyph rows.  Set cursor.x to negative value when the
 cursor might be on the left fringe.
 (extend_face_to_end_of_line): Append the stretch glyph only if its
 width is positive.
 (notice_overwritten_cursor, draw_phys_cursor_glyph)
 (erase_phys_cursor): For reversed cursor_row, support cursor on
 the left fringe.
 w32term.c (w32_draw_window_cursor): For reversed glyph rows,
 draw cursor on the left fringe.
 xterm.c (x_draw_window_cursor): For reversed glyph rows, draw
 cursor on the left fringe.
 fringe.c (draw_fringe_bitmap): For reversed glyph rows, allow
 cursor on the left fringe.
 dispnew.c (update_text_area): Handle reversed desired rows when
 the cursor is on the left fringe.
 (set_window_cursor_after_update): Limit cursor's hpos by -1 from
 below, not by 0, for when the cursor is on the left fringe.
src/ChangeLog
src/dispnew.c
src/fringe.c
src/w32term.c
src/xdisp.c
src/xterm.c